"""
药代动力学常量定义模块

提供标准化的药代动力学参数命名和常量定义
"""

# 标准参数名称
PARAM_NAMES = {
    # 分布相关
    'DISTRIBUTION_VOLUME': 'Vd',
    'PLASMA_VOLUME': 'Vp',
    'EXTRACELLULAR_VOLUME': 'Ve',
    'TISSUE_VOLUME': 'Vt',
    'UNBOUND_FRACTION': 'fu',
    'BLOOD_PLASMA_RATIO': 'BP',
    
    # 清除相关
    'HEPATIC_CLEARANCE': 'CL_hepatic',
    'RENAL_CLEARANCE': 'CL_renal',
    'BILIARY_CLEARANCE': 'CL_biliary',
    'OTHER_CLEARANCE': 'CL_other',
    'TOTAL_CLEARANCE': 'CL_total',
    
    # 吸收相关
    'ABSORPTION_RATE': 'ka',
    'DISSOLUTION_RATE': 'kd',
    'FRACTION_ABSORBED': 'fa',
    'FRACTION_GUT': 'fg',
    'FRACTION_HEPATIC': 'fh',
    
    # 时间参数
    'MAX_CONCENTRATION_TIME': 'Tmax',
    'HALF_LIFE': 't_half',
    'LAG_TIME': 'tlag',
    
    # 浓度参数
    'MAX_CONCENTRATION': 'Cmax',
    'STEADY_STATE_CONCENTRATION': 'Css',
    
    # 剂量参数
    'DOSE': 'dose',
    'BIOAVAILABILITY': 'F',
    'TRANSIT_TIME': 'ts',
}

# 标准单位
UNITS = {
    'Vd': 'L',
    'Vp': 'L',
    'Ve': 'L',
    'Vt': 'L',
    'fu': 'dimensionless',
    'BP': 'dimensionless',
    'CL_hepatic': 'L/h',
    'CL_renal': 'L/h',
    'CL_biliary': 'L/h',
    'CL_other': 'L/h',
    'CL_total': 'L/h',
    'ka': '1/h',
    'kd': '1/h',
    'fa': 'dimensionless',
    'fg': 'dimensionless',
    'fh': 'dimensionless',
    'Tmax': 'h',
    't_half': 'h',
    'tlag': 'h',
    'Cmax': 'mg/L',
    'Css': 'mg/L',
    'dose': 'mg',
    'F': 'dimensionless',
    'ts': 'h',
}

# 默认值
DEFAULT_VALUES = {
    'body_weight': 70.0,  # kg
    'Vp': 3.0,  # L
    'Ve': 12.0,  # L
    'fu': 0.1,
    'BP': 1.0,
    'CL_hepatic': 0.5,  # L/h
    'CL_renal': 0.3,  # L/h
    'CL_biliary': 0.1,  # L/h
    'CL_other': 0.05,  # L/h
    'ka': 1.0,  # 1/h
    'kd': 1.0,  # 1/h
    'fa': 0.9,
    'fg': 0.95,
    'fh': 0.85,
    'tlag': 0.1,  # h
    'ts': 1.0,  # h
}

# 组织容积 (L/kg体重)
TISSUE_VOLUMES = {
    'adipose': 0.21,
    'bone': 0.08,
    'brain': 0.02,
    'gut': 0.018,
    'heart': 0.0047,
    'kidney': 0.0044,
    'liver': 0.026,
    'lung': 0.0076,
    'muscle': 0.40,
    'skin': 0.037,
    'spleen': 0.0026,
    'rest': 0.17,
}

# 组织血流量 (L/h/kg体重)
TISSUE_BLOOD_FLOWS = {
    'adipose': 0.026,
    'bone': 0.024,
    'brain': 0.052,
    'gut': 0.175,
    'heart': 0.084,
    'kidney': 0.312,
    'liver': 0.031,
    'lung': 5.04,
    'muscle': 0.051,
    'skin': 0.026,
    'spleen': 0.026,
    'rest': 0.026,
}